// /pages/user/user.js

const app = getApp(); // 获取App实例

Page({
  data: {
    // 控制页面是否显示加载中...
    isLoading: true,
    // 存储从全局获取的用户信息
    userInfo: null
  },
    /**
   * 页面的生命周期函数 - 每次页面显示时都触发
   * 使用 onShow 而不是 onLoad，可以保证每次用户切换到这个 Tab 时，都能检查最新的登录状态
   */
  async onShow() {
    // 检查用户是否已登录
    const isLoggedIn = await app.ensureLoggedIn();
    if(!isLoggedIn)
    { 
      this.setData({ isLoading: false, userInfo: null });
      return; 
    }
    this.setData({
      userInfo: app.globalData.userInfo,
      isLoading: false,
    }); 
  },

  /**
   * 点击“编辑个人信息”时触发
   */
  async navigateToProfileEdit() {
    // 检查用户是否已登录
    const isLoggedIn = await app.ensureLoggedIn();
    if(!isLoggedIn) return;
    wx.navigateTo({
      url: '/pages/profile-edit/profile-edit?from=user',
    });
  },

  /**
   * [事件处理] 用户点击“我的订单”
   */
  async onGoToMyOrders() {
    // 检查用户是否已登录
    const isLoggedIn = await app.ensureLoggedIn();
    if(!isLoggedIn) return;
    // 跳转到订单中心中的索引为2的tab，也就是全部订单
    wx.navigateTo({ url: '/pages/orders/orders?tabIndex=2' });
  },
  /**
   * [事件处理] 用户点击“预约订单”
   */
  async onGoToAppointmentOrders() {
    // 检查用户是否已登录
    const isLoggedIn = await app.ensureLoggedIn();
    if(!isLoggedIn) return;
    // 跳转到订单中心中的索引为0的tab，也就是预约订单
    wx.navigateTo({ url: '/pages/orders/orders?tabIndex=0' });
  }
});